package com.hbut.common.core.domain;

import com.hbut.common.core.enums.ResultCode;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

@Data
public class TableDataInfo {
    /**
     *总记录数
     */
    private long total;

    /**
     * 列表数据
     */
    private List<?> rows;

    /**
     * 消息状态码
     */
    private int code;

    /**
     * 消息内容
     */
    private String msg;

    /**
     * 表格数据对象
     */
    public TableDataInfo() {
    }

    public static TableDataInfo success(List<?> rows, long total) {
        TableDataInfo tableDataInfo = new TableDataInfo();
        tableDataInfo.setRows(rows);
        tableDataInfo.setTotal(total);
        tableDataInfo.setCode(ResultCode.SUCCESS.getCode());
        tableDataInfo.setMsg(ResultCode.SUCCESS.getMsg());
        return tableDataInfo;
    }

    public static TableDataInfo empty() {
        TableDataInfo tableDataInfo = new TableDataInfo();
        tableDataInfo.setRows(new ArrayList<>());
        tableDataInfo.setTotal(0L);
        tableDataInfo.setCode(ResultCode.SUCCESS.getCode());
        tableDataInfo.setMsg(ResultCode.SUCCESS.getMsg());
        return tableDataInfo;
    }
}
